package com.beiben.experiment.equipment.service;

import java.util.List;
import com.beiben.experiment.equipment.domain.Equipment;

/**
 * 试验设备\计量设备信息Service接口
 * 
 * @author 熊国强
 * @date 2020-11-11
 */
public interface IEquipmentService 
{
    /**
     * 查询试验设备\计量设备信息
     * 
     * @param equipmentId 试验设备\计量设备信息ID
     * @return 试验设备\计量设备信息
     */
    public Equipment selectEquipmentById(Long equipmentId);

    /**
     * 查询试验设备\计量设备信息列表
     * 
     * @param equipment 试验设备\计量设备信息
     * @return 试验设备\计量设备信息集合
     */
    public List<Equipment> selectEquipmentList(Equipment equipment);

    /**
     * 新增试验设备\计量设备信息
     * 
     * @param equipment 试验设备\计量设备信息
     * @return 结果
     */
    public int insertEquipment(Equipment equipment);

    /**
     * 修改试验设备\计量设备信息
     * 
     * @param equipment 试验设备\计量设备信息
     * @return 结果
     */
    public int updateEquipment(Equipment equipment);

    /**
     * 批量删除试验设备\计量设备信息
     * 
     * @param equipmentIds 需要删除的试验设备\计量设备信息ID
     * @return 结果
     */
    public int deleteEquipmentByIds(Long[] equipmentIds);

    /**
     * 删除试验设备\计量设备信息信息
     * 
     * @param equipmentId 试验设备\计量设备信息ID
     * @return 结果
     */
    public int deleteEquipmentById(Long equipmentId);

    /**
     * 导入数据
     *
     * @param list 数据列表
     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param
     * @return 结果
     */
    public String importEquipment(List<Equipment> list, Boolean isUpdateSupport);

    /**
     * 修改试验设备\计量设备信息状态
     *
     * @param equipmentIds 试验设备\计量设备信息IDS
     * @param state 使用状态
     * @return 结果
     */
    public int updateEquipmentState(Long[] equipmentIds,String state);
}
